import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// 配置element-plus 按需引入
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import path from 'path'
export default defineConfig({

  plugins: [vue(),
    // q: AutoImport 这是干啥的？
    // a: AutoImport 是一个 vite 插件，它可以自动导入你使用的组件，这样你就不需要在每个文件中手动导入组件了。
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    // q: Components 这是干啥的？

    Components({
      resolvers: [ElementPlusResolver()],
    }),
  
  ],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src') // 路径更改
    }
  },
  server: { // 服务器配置
    // q: vite.config.ts中应该怎么配置historyApiFallback: true
    // a: 在server里面配置


    // historyApiFallback: true,

    port: 9999, // 端口号
    hmr: { // 热更新配置
      host: 'localhost',
      port: 9999,
    }
  },
  proxy: { // 代理配置
    '/api': {
      target: 'http://ihrm-java.itheima.net', // 代理目标
      changeOrigin: true, // 是否允许跨域
      // ws: true, // 是否代理websockets
      // secure: false, // 是否验证证书
      rewrite: (path) => path.replace(/^\/api/, ''),// 重写路径
      selfHandleResponse: true,
      // configure: (proxy, _options) => {
      //   proxy.on('proxyRes', (proxyRes, req, res) => {

      //     res.removeHeader("Access-Control-Allow-Origin")
      //     res.removeHeader("access-control-allow-origin")
      //     res.setHeader("Access-Control-Allow-Origin", "*")
      //     res.setHeader("content-type", "application/json")
      //     proxyRes.pipe(res)
      //   });
      // }

    }
  },
})
